{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "cceeae49",
   "metadata": {},
   "source": [
    "## Step.1 Calculate NewtonDD table"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "2bae7f44",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "def calNDDTable(xiList,yiList):\n",
    "    xiList = np.array(xiList)\n",
    "    yiList = np.array(yiList)\n",
    "    n = xiList.size\n",
    "    dimension = (n,n)\n",
    "    arrNDD = np.zeros(dimension)\n",
    "    arrNDD[:,0] = yiList\n",
    "    for j in range (1,n):\n",
    "        for i in range(j,n):\n",
    "            arrNDD[i,j] = (arrNDD[i,j-1] - arrNDD[i-1,j-1])/(xiList[i] - xiList[i-j])\n",
    "    return arrNDD"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "ff828487",
   "metadata": {},
   "outputs": [],
   "source": [
    "xiList = [1,2,3,4,5]\n",
    "yiList = [0,0,2,0,0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "f2ab6f12",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0. ,  0. ,  0. ,  0. ,  0. ],\n",
       "       [ 0. ,  0. ,  0. ,  0. ,  0. ],\n",
       "       [ 2. ,  2. ,  1. ,  0. ,  0. ],\n",
       "       [ 0. , -2. , -2. , -1. ,  0. ],\n",
       "       [ 0. ,  0. ,  1. ,  1. ,  0.5]])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "calNDDTable(xiList,yiList)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1b6aca16",
   "metadata": {},
   "source": [
    "## Step.2 NewtonDD interpolation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "a4e7ef20",
   "metadata": {},
   "outputs": [],
   "source": [
    "def interpNDD(x,xiList,yiList):\n",
    "    xiList = np.array(xiList)\n",
    "    yiList = np.array(yiList)\n",
    "    n = xiList.size\n",
    "    NDDTable = calNDDTable(xiList,yiList)\n",
    "    digNDD = np.diag(NDDTable)\n",
    "    y = 0\n",
    "    for i in range(0,n):\n",
    "        li = digNDD[i]\n",
    "        for j in range(0,i):\n",
    "            li = li * (x - xiList[j])\n",
    "        y = y + li\n",
    "    return y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "153a7877",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.5089500000000003"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "interpNDD(1.1,xiList,yiList)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "097d3f89",
   "metadata": {},
   "source": [
    "## Step.3 Application"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "57463b5a",
   "metadata": {},
   "outputs": [],
   "source": [
    "xList = np.arange(1,5.1,0.1)\n",
    "yList = [interpNDD(x,xiList,yiList) for x in xList]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "fece9acd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x193b4206b20>]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "plt.figure(figsize  =(8,6))\n",
    "plt.scatter(xiList,yiList,c = 'yellow',edgecolors = 'orange',s = 100)\n",
    "plt.xlabel(\"x\",fontsize = 10)\n",
    "plt.ylabel(\"y\",fontsize = 10)\n",
    "plt.plot(xList,yList,'c-')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d45acf41",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
